home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Mac OS / AppleShare IP 6.3 SDK / ASIP Server Controls⁄Events / Headers / AppleShareFileServerControl.a next >
Encoding:
Text File  |  1999-11-01  |  40.5 KB  |  991 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AppleShareFileServerControl.a
  3. ;
  4. ;    Contains:    Interface definitions for Server Control calls, and Server Event constants;
  5. ;
  6. ;    Version:    Technology:    AppleShare IP 6.0
  7. ;                Release:    ASIP 6.2 SDK - Wednesday, August 25, 1999 09:29:55
  8. ;
  9. ;    Copyright:    © 1995-1999 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__APPLESHAREFILESERVERCONTROL__') = 'UNDEFINED' THEN
  18. __APPLESHAREFILESERVERCONTROL__ SET 1
  19.  
  20.     IF &TYPE('__APPLETALK__') = 'UNDEFINED' THEN
  21.     include 'AppleTalk.a'
  22.     ENDIF
  23.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  24.     include 'Files.a'
  25.     ENDIF
  26.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  27.     include 'MixedMode.a'
  28.     ENDIF
  29.     IF &TYPE('__TRAPS__') = 'UNDEFINED' THEN
  30.     include 'Traps.a'
  31.     ENDIF
  32.  
  33. ;  Server Control Codes ---------------------------------------------------------------------------- 
  34.  
  35. kSCStartServer                    EQU        0                    ; Use StartParam variant 
  36. kSCShutDown                        EQU        2                    ; Use DisconnectParam variant 
  37. kSCCancelShutDown                EQU        3                    ; Use DisconnectParam variant 
  38. kSCDisconnect                    EQU        4                    ; Use DisconnectParam variant 
  39. kSCPollServer                    EQU        5                    ; Use PollServerParam variant 
  40. kSCGetExpFldr                    EQU        6                    ; Use StandardParam variant 
  41. kSCGetSetupInfo                    EQU        7                    ; Use SetupParam variant 
  42. kSCSetSetupInfo                    EQU        8                    ; Use SetupParam variant 
  43. kSCSendMessage                    EQU        9                    ; Use DisconnectParam variant 
  44. kSCGetServerStatus                EQU        10                    ; Use StatusParam variant 
  45. kSCInstallServerEventProc        EQU        11                    ; Use ServerEventParam variant 
  46. kSCRemoveServerEventProc        EQU        12                    ; Use ServerEventParam variant 
  47. kSCGetServerEventProc            EQU        13                    ; Use ServerEventParam variant 
  48. kSCServerVersion                EQU        14                    ; Use VersionParam variant 
  49. kSCSetCopyProtect                EQU        16                    ; Use StandardParam variant 
  50. kSCClrCopyProtect                EQU        17                    ; Use StandardParam variant 
  51. kSCDisconnectVolUsers            EQU        18                    ; Use DisconnectParam variant 
  52. kSCGetUserNameRec                EQU        19                    ; Use UserInfoParam variant 
  53. kSCGetUserMountInfo                EQU        20                    ; Use VolMountedParam variant 
  54. kSCWakeServer                    EQU        21                    ; Use StartParam variant 
  55. kSCSleepServer                    EQU        22                    ; Use DisconnectParam variant 
  56. kSCGetCacheStats                EQU        23                    ; Use GetCacheStatsParam variant 
  57. kSCResetCache                    EQU        31                    ; Use ResetCacheParam variant 
  58. kSCGetExtUserNameRec            EQU        35                    ; Use ExtUserInfoParam variant 
  59. kSCServiceStateInfo                EQU        38                    ; Use ServiceStateParam variant 
  60. kSCGetPlugInInfo                EQU        41                    ; Use PlugInInfoParam variant 
  61. kSCGetPlugInMimeType            EQU        42                    ; Use PlugInMimeTypeParam variant 
  62. kSCSetHistorySampleTime            EQU        43                    ; Use SetHistoryParam variant 
  63. kSCGetServerActivityHistory        EQU        44                    ; Use GetHistoryParam variant
  64. kSCGetSMBConfig                    EQU        46                    ; Use SMBConfigParam variant
  65. kSCBlockGetUserList                EQU        47                    ; Use BlockUserRecParam variant
  66. ;  General Constants ------------------------------------------------------------------------------- 
  67. ;  PollServer scServerState responses... 
  68.  
  69. kSCPollRunning                    EQU        -1
  70. kSCPollStartingUp                EQU        -2
  71. kSCPollJustDisabled                EQU        -3
  72. kSCPollDisabledErr                EQU        -4
  73. kSCPollSleeping                    EQU        -5
  74. ;  PollServer scDisconnectState responses... 
  75.  
  76. kSCNotDisconnecting                EQU        -1
  77. kSCDisconnectWithin29Secs        EQU        0
  78. kSCDisconnect30To89Secs            EQU        1                    ; Any other value is the number of minutes remaining, rounded... 
  79. ;  PollServer scServerErrors responses... 
  80.  
  81. kSCModernMemMgrOffErr            EQU        1                    ; Must run with Modern Memory Manager 
  82. kSCNoThreadLibraryErr            EQU        2
  83. kSCServiceNotInstalledErr        EQU        3
  84. kSCInsuffMFMemErr                EQU        4
  85. kSCCantRegNameErr                EQU        5
  86. kSCCantFindExtnFolderErr        EQU        6
  87. kSCUnExATalkErr                    EQU        7
  88. kSCNoMachineNameErr                EQU        8
  89. kSCCantFindFSExtnErr            EQU        9
  90. kSCATalkOffErr                    EQU        10
  91. kSCNoInitRunErr                    EQU        12
  92. kSCInsuffAppMemErr                EQU        14
  93. kSCBadConfigErr                    EQU        15
  94. kSCNoDTOnStartupErr                EQU        16
  95. kSCDupNameErr                    EQU        17
  96. kSCBadFileBufParmsErr            EQU        19
  97. kSCNeedRootUserErr                EQU        20                    ; The range 21-28 are reserved for future use by Apple. 
  98. kSCBadSerialNumErr                EQU        29
  99. kSCSysTooOldErr                    EQU        34
  100. kSCDupSerialNumberErr            EQU        36                    ; NBP dup serial number detected 
  101. kSCVMOnErr                        EQU        37                    ; Virtual Memory is turned on on server machine 
  102. kSCNoPPCErr                        EQU        38                    ; Server only runs on a ppc machine 
  103. kSCBadInitErr                    EQU        39
  104. kSCOpenTransportInstallErr        EQU        40                    ; Incompatible version of Open Transport 
  105. kSCNoAgentLibErr                EQU        41                    ; No ASRLib 
  106. kSCNoAgentSessionErr            EQU        42                    ; Could not open an agent session 
  107. kSCInvalidAgentErr                EQU        43                    ; No agent or a problem with the agent 
  108. kSCAgentServerObjErr            EQU        44                    ; Bad server object type. 
  109. kSCAgentGenesisErr                EQU        46
  110. kSCAlreadyShuttingDown            EQU        -1
  111. kSCAlreadyDisconnecting            EQU        -2
  112. kSCDeletedPDSErr                EQU        -2
  113. kSCContainsExpFolderErr            EQU        -3
  114. kSCCantPrepareVolumeErr            EQU        -4
  115. kSCTooManyExpFoldersErr            EQU        -5
  116. kSCFixedPDSErr                    EQU        -6
  117. kSCExpFolderNamConfErr            EQU        -7
  118. kSCNoExportFolderErr            EQU        -8
  119. kSCInsideExpFolderErr            EQU        -9
  120. kSCInsideTrashErr                EQU        -10
  121. kSCVolNameConflictErr            EQU        -11
  122. kSCCacheReducedErr                EQU        -12
  123. kSCBadIPConfigErr                EQU        -20
  124. kSCBadAccessPrivRecErr            EQU        -21
  125. kSCBadMimeTypeFileErr            EQU        -22
  126. kSCDuplicateVolumeErr            EQU        -23                    ; Second volume with same name will not be shared 
  127.                                                             ; -100 to -199 are AFP errors 
  128. kSCAFPGenErr                    EQU        -100
  129. kSCAFPTCPGenErr                    EQU        -150
  130. kSCAFPTCPMemErr                    EQU        -151
  131. kSCAFPTCPPortInUseErr            EQU        -152                ; -200 to -299 are FTP errors 
  132. kSCFTPGenErr                    EQU        -200
  133. kSCFTPPortInUseErr                EQU        -201
  134. kSCFTPNotAvailErr                EQU        -202
  135. kSCFTPMemErr                    EQU        -203                ; -300 to -399 are Web errors 
  136. kSCHTTPGenErr                    EQU        -300
  137. kSCHTTPPortInUseErr                EQU        -302
  138. kSCHTTPFolderErr                EQU        -303
  139. kSCHTTPFileErr                    EQU        -304
  140. kSCHTTPMemErr                    EQU        -305
  141. kSCHTTPNoMimeTypesErr            EQU        -306
  142. kSCHTTPNoDefaultMimeErr            EQU        -307
  143. kSCPluginDirNotFoundErr            EQU        -308
  144. kSCPluginMemFullErr                EQU        -309
  145. kSCPluginPreProcNotFoundErr        EQU        -310
  146. kSCPluginPostProcNotFoundErr    EQU        -311
  147. kSCErrorPluginNotFoundErr        EQU        -312
  148. kSCPluginNotPreProcessorErr        EQU        -313
  149. kSCPluginNotPostProcessorErr    EQU        -314
  150. kSCPluginMemPoolFullErr            EQU        -315
  151. kSCPluginOutOfMemoryErr            EQU        -316
  152. kSCCorruptedMimeTypesErr        EQU        -317
  153. kSCPlugInLoggingErr                EQU        -318
  154. kSCPlugInTypeConflictErr        EQU        -319
  155. kSCPlugInCannotRegisterErr        EQU        -320
  156. kSCPlugInMemSmallErr            EQU        -321
  157. kSCWebAdminNetworkErr            EQU        -330                ; -400 to -499 are SMB errors  
  158. kSCSMBGenErr                    EQU        -400
  159. kSCSMBPortInUseErr                EQU        -402
  160. kSCSMBMemErr                    EQU        -405
  161. ;  Define times for shutdown... 
  162.  
  163. kSCMaxTimer                        EQU        4094
  164. kSCMinTimer                        EQU        0
  165. ;  Plugin errors (PlugInMimeTypeParam, PlugInInfoParam)... 
  166.  
  167. kSCPlugInNoErr                    EQU        0
  168. kSCPlugInWrongVersionErr        EQU        1
  169. kSCPlugInBadIndexErr            EQU        2
  170. kSCPlugInPlugInsNotLoadedErr    EQU        3
  171. kSCPlugInBadPlugInRefErr        EQU        4
  172. ;  Plugin info dimensions (C-strings)... 
  173.  
  174. kSCPlugInNameSize                EQU        32
  175. kSCPlugInAdminURLSize            EQU        256
  176. kSCPlugInVersionStrSize            EQU        12
  177. kSCMimeTypeSize                    EQU        80
  178. kSCSuffixSize                    EQU        32
  179. ;  Number of samples in ServerHistoryRec... 
  180.  
  181. kSCMaxDataPoints                EQU        1024
  182. ;  For siVersion field of SetupInfoRec...
  183.  
  184. kSCSetUpRecordVersion            EQU        3
  185. ;  VersionParam's scServerType contains the server type, which is interpreted as follows: 
  186.  
  187. kSCMFSServerType                EQU        $0000                ; Macintosh File Sharing 
  188. kSCAFSServerType                EQU        $0001                ; AppleShare/AppleShare IP File Server 
  189.     IF &TYPE('SCCACHESTATSRECVERS3') = 'UNDEFINED' THEN
  190.     SCCACHESTATSRECVERS3: SET 1
  191. ;  For csVersion field of SCCacheStatsRec... 
  192.  
  193. kSCCacheStatsRecVersion            EQU        3
  194.     ENDIF
  195. ;  Current version number of scFileInfoRec block... 
  196.  
  197. kSCFileInfoRecVersion            EQU        1
  198. ;  Parameters for the "bitmap" field of ResetCacheParam... 
  199.  
  200. kSCResetFileCache                EQU        $0001
  201. kSCResetCNodeCache                EQU        $0002
  202. kSCResetDTCache                    EQU        $0004
  203. kSCShrinkCache                    EQU        $8000
  204. kSCShrinkAllCaches                EQU        $8007
  205. ;  For attrVersion field of ExtUserInfoParam... 
  206.  
  207. kSCOldUserAttrRecVersion        EQU        0
  208. kSCUserAttrRecVersion            EQU        1
  209. ;  Current session layers for scProtocolType field of UserAttrRec... 
  210.  
  211. kSCSessionInvalid                EQU        $0000
  212. kSCSessionAll                    EQU        'alls'
  213. kSCSessionAFP                    EQU        'afp '
  214. kSCSessionHTTP                    EQU        'http'
  215. kSCSessionFTP                    EQU        'ftp '
  216. kSCSessionSMB                    EQU        'smb '
  217. kSCSessionNFS                    EQU        'nfs '
  218. ;  Current transport layers for scTransportType field of UserAttrRec... 
  219.  
  220. kSCTransportATP                    EQU        'atp '
  221. kSCTransportTCP                    EQU        'tcp '
  222. ;  For version field of PlugInInfoParam... 
  223.  
  224. kSCPlugInInfoParamVersion        EQU        0
  225. ;  For plugInAttributes field of PlugInInfoParam... 
  226.  
  227. kSCAttPreProcessor                EQU        $00000001            ; works as a preprocessor 
  228. kSCAttPostProcessor                EQU        $00000002            ; works as a postprocessor 
  229. kSCAttFilter                    EQU        $00000004            ; works as filter 
  230. kSCAttAccessControl                EQU        $00000008            ; works as access control 
  231. kSCAttErrorProcessor            EQU        $00000010            ; works as error processor 
  232. ;  Current version number of SCSrvrMsgsRec... 
  233.  
  234. kSCSrvrMsgsRecVersion            EQU        1
  235. ;  For version field of PlugInMimeTypeParam... 
  236.  
  237. kSCPlugInMimeTypeParamVersion    EQU        0
  238. ;  For version field of BlockUserRecParam...
  239.  
  240. kSCBlockGetUserRecObsoleteVersion1 EQU    1
  241. kSCBlockGetUserRecVersion        EQU        2
  242. ;  Flags for user in BlockUserRecParam...
  243.  
  244. kSCFlagUserSleeping                EQU        $00000001
  245. ;  Other service states...
  246.  
  247. kSCFTPServiceBit                EQU        $01
  248. kSCSMBServiceBit                EQU        $02
  249. ;  Misc params...
  250.  
  251. kSCCurrentlyInstalled            EQU        0
  252. kSCUseFinderExtension            EQU        0
  253. kSCStartingEntity                EQU        1
  254. kSCStartingExtension            EQU        2
  255. kSCUseMessagePtr                EQU        1
  256. ;  Server Event Detail ----------------------------------------------------------------------------- 
  257.  
  258. ;   Bit names for the serverEventMask field of ServerEventQEntry; event numbers returned in
  259. ;   ServerEventRecord... 
  260.  
  261.  
  262.  
  263. kSCStartAFPRequestEvt            EQU        0                    ; also set afpCommandMask for these 
  264. kSCSendAFPResponseEvt            EQU        1
  265.  
  266. kSCServerControlCallEvt            EQU        4                    ; also set serverControlMask for this 
  267.  
  268. kSCServerBusyEvt                EQU        2
  269. kSCServerShutdownEvt            EQU        3
  270. kSCShareEvt                        EQU        5
  271. kSCUnShareEvt                    EQU        6
  272. kSCSetDirAccessEvt                EQU        7
  273. kSCServerNameChangeEvt            EQU        8
  274. kSCVolumePrepEvt                EQU        9
  275. kSCVolumeUnmountEvt                EQU        10
  276. kSCServerStartupEvt                EQU        11
  277. kSCSessionTornDownEvt            EQU        12
  278. kSCOutOfSequenceEvt                EQU        13
  279. kSCWksClosedSessionEvt            EQU        14
  280. kSCSessionTimedOutEvt            EQU        15
  281. kSCSrvrClosedSessionEvt            EQU        16
  282. kSCExtendedServerEvtRec            EQU        31
  283. ;  Maximum size of the Buffer in the ServerEventRecord... 
  284.  
  285. kBufferMax                        EQU        48
  286. IPBlock                    RECORD 0
  287. part                     ds.b    4                ; offset: $0 (0)
  288. sizeof                     EQU *                    ; size:   $4 (4)
  289.                         ENDR
  290. UserAddress                RECORD 0
  291. wholeAddress             ds.l    1                ; offset: $0 (0)
  292.                          ORG 0
  293. appleTalkAddress         ds        AddrBlock        ; offset: $0 (0)
  294.                          ORG 0
  295. ipAddress                 ds        IPBlock            ; offset: $0 (0)
  296. sizeof                     EQU *                    ; size:   $4 (4)
  297.                         ENDR
  298. ServerEventRecord        RECORD 0
  299. eventNumber                 ds.l    1                ; offset: $0 (0)
  300. serverTimeInSeconds         ds.l    1                ; offset: $4 (4)
  301. result                     ds.w    1                ; offset: $8 (8)
  302. bufferSize                 ds.w    1                ; offset: $A (10)
  303. buffer                     ds.b    48                ; offset: $C (12)
  304. nameStr                     ds        Str31            ; offset: $3C (60)
  305. afpCommand                 ds.w    1                ; offset: $5C (92)
  306. sessionID                 ds.l    1                ; offset: $5E (94)
  307. userID                     ds.l    1                ; offset: $62 (98)
  308. userName                 ds        Str31            ; offset: $66 (102)
  309. vRefNum                     ds.w    1                ; offset: $86 (134)
  310. dirID                     ds.l    1                ; offset: $88 (136)
  311. addr                     ds        UserAddress        ; offset: $8C (140)
  312. sizeof                     EQU *                    ; size:   $90 (144)
  313.                         ENDR
  314. ;  For annexVersion field; set by server to indicate version of record... 
  315.  
  316. kServerEventAnnexVersion6        EQU        $06000000
  317. ExtendedServerEventRecord RECORD 0
  318. eventNumber                 ds.l    1                ; offset: $0 (0)
  319. serverTimeInSeconds         ds.l    1                ; offset: $4 (4)
  320. result                     ds.w    1                ; offset: $8 (8)
  321. bufferSize                 ds.w    1                ; offset: $A (10)
  322. buffer                     ds.b    48                ; offset: $C (12)
  323. nameStr                     ds        Str31            ; offset: $3C (60)
  324. afpCommand                 ds.w    1                ; offset: $5C (92)
  325. sessionID                 ds.l    1                ; offset: $5E (94)
  326. userID                     ds.l    1                ; offset: $62 (98)
  327. userName                 ds        Str31            ; offset: $66 (102)
  328. vRefNum                     ds.w    1                ; offset: $86 (134)
  329. dirID                     ds.l    1                ; offset: $88 (136)
  330. addr                     ds        UserAddress        ; offset: $8C (140)
  331. transportType             ds.l    1                ; offset: $90 (144)
  332. annexVersion             ds.l    1                ; offset: $94 (148)
  333. sizeof                     EQU *                    ; size:   $98 (152)
  334.                         ENDR
  335. ServerEventQEntry        RECORD 0
  336. next                     ds.l    1                ; offset: $0 (0)
  337. queuetype                 ds.w    1                ; offset: $4 (4)
  338. callBack                 ds.l    1                ; offset: $6 (6)
  339. serverEventMask             ds.l    1                ; offset: $A (10)
  340. afpCommandMask             ds.l    2                ; offset: $E (14)
  341. serverControlMask         ds.l    1                ; offset: $16 (22)
  342. sizeof                     EQU *                    ; size:   $1A (26)
  343.                         ENDR
  344. ;  Server Control Data Structures ------------------------------------------------------------------ 
  345.  
  346. ;   Since all calls are made through ServerDispatchSync, ioCompletion is ignored, so this is for
  347. ;   completeness only..., 
  348.  
  349.  
  350. ; typedef UniversalProcPtr                 SCCompletionUPP
  351.  
  352. StartParam                RECORD 0
  353. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  354. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  355. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  356. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  357. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  358. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  359. reserved                 ds.l    1                ; offset: $12 (18)
  360. reserved2                 ds.w    1                ; offset: $16 (22)
  361. reserved3                 ds.w    1                ; offset: $18 (24)
  362. scCode                     ds.w    1                ; offset: $1A (26)
  363. scStartSelect             ds.w    1                ; offset: $1C (28)
  364. scEventSelect             ds.w    1                ; offset: $1E (30)
  365. scWhere                     ds.l    1                ; offset: $20 (32)
  366. scReceiverID             ds.l    1                ; offset: $24 (36)
  367. scDataType                 ds.l    1                ; offset: $28 (40)
  368. scStartOptions             ds.l    1                ; offset: $2C (44)
  369. sizeof                     EQU *                    ; size:   $30 (48)
  370.                         ENDR
  371. ; typedef struct StartParam *            StartParamPtr
  372.  
  373. DisconnectParam            RECORD 0
  374. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  375. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  376. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  377. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  378. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  379. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  380. scDiscArrayPtr             ds.l    1                ; offset: $12 (18)
  381. scArrayCount             ds.w    1                ; offset: $16 (22)
  382. reserved                 ds.w    1                ; offset: $18 (24)
  383. scCode                     ds.w    1                ; offset: $1A (26)
  384. scNumMinutes             ds.w    1                ; offset: $1C (28)
  385. scFlags                     ds.w    1                ; offset: $1E (30)
  386. scMessagePtr             ds.l    1                ; offset: $20 (32)
  387. sizeof                     EQU *                    ; size:   $24 (36)
  388.                         ENDR
  389. ; typedef struct DisconnectParam *        DisconnectParamPtr
  390.  
  391. PollServerParam            RECORD 0
  392. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  393. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  394. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  395. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  396. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  397. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  398. reserved                 ds.l    1                ; offset: $12 (18)
  399. reserved2                 ds.w    1                ; offset: $16 (22)
  400. reserved3                 ds.w    1                ; offset: $18 (24)
  401. scCode                     ds.w    1                ; offset: $1A (26)
  402. scServerState             ds.w    1                ; offset: $1C (28)
  403. scDisconnectState         ds.w    1                ; offset: $1E (30)
  404. scServerError             ds.w    1                ; offset: $20 (32)
  405. scSecondsLeft             ds.l    1                ; offset: $22 (34)
  406. sizeof                     EQU *                    ; size:   $26 (38)
  407.                         ENDR
  408. ; typedef struct PollServerParam *        PollServerParamPtr
  409.  
  410. StandardParam            RECORD 0
  411. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  412. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  413. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  414. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  415. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  416. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  417. scNamePtr                 ds.l    1                ; offset: $12 (18)
  418. scVRefNum                 ds.w    1                ; offset: $16 (22)
  419. scLogins                 ds.w    1                ; offset: $18 (24)
  420. scCode                     ds.w    1                ; offset: $1A (26)
  421. scIndex                     ds.w    1                ; offset: $1C (28)
  422. scDirID                     ds.l    1                ; offset: $1E (30)
  423. sizeof                     EQU *                    ; size:   $22 (34)
  424.                         ENDR
  425. ; typedef struct StandardParam *        StandardParamPtr
  426.  
  427. Str198                    RECORD 0
  428. elements                 ds.b    199
  429.                          ORG 200
  430. sizeof                     EQU *                    ; size:   $C8 (200)
  431.                         ENDR
  432.  
  433.  
  434. SetupInfoRec            RECORD 0
  435. siVersion                 ds.w    1                ; offset: $0 (0)
  436. siFlags                     ds.w    1                ; offset: $2 (2)
  437. siMaxLogins                 ds.w    1                ; offset: $4 (4)
  438. siSrvrUsageLimit         ds.w    1                ; offset: $6 (6)
  439. siVolInfoLocation         ds        Point            ; offset: $8 (8)
  440. siVolInfoVisible         ds.b    1                ; offset: $C (12)
  441. siReserved1                 ds.b    1                ; offset: $D (13)
  442. siUserInfoLocation         ds        Point            ; offset: $E (14)
  443. siUserInfoVisible         ds.b    1                ; offset: $12 (18)
  444. siReserved2                 ds.b    1                ; offset: $13 (19)
  445. siShutDownMins             ds.w    1                ; offset: $14 (20)
  446. siCacheControl             ds.w    1                ; offset: $16 (22)        ;  no longer used 
  447. siVolParmsStepSize         ds.w    1                ; offset: $18 (24)
  448. siVolParmsIncrement         ds.w    1                ; offset: $1A (26)
  449. siVolParmsFirstDelay     ds.w    1                ; offset: $1C (28)
  450. siVolParmsMaxDelay         ds.w    1                ; offset: $1E (30)
  451. siRACacheFileBufSize     ds.l    1                ; offset: $20 (32)        ;  no longer used 
  452. siRACacheSize             ds.l    1                ; offset: $24 (36)        ;  no longer used 
  453. siDirCacheMaxWidth         ds.w    1                ; offset: $28 (40)        ;  no longer used 
  454. siDirCacheSize             ds.l    1                ; offset: $2A (42)        ;  no longer used 
  455. siIconCacheSize             ds.l    1                ; offset: $2E (46)        ;  no longer used 
  456. siBTMemReservedFromCache  ds.l    1                ; offset: $32 (50)
  457. siSpare                     ds.w    1                ; offset: $36 (54) <-- really an array of length one ;  reserved 
  458. siLoginMsg                 ds        Str198            ; offset: $38 (56)
  459.                          ORG 256
  460. sizeof                     EQU *                    ; size:   $100 (256)
  461.                         ENDR
  462. ; typedef struct SetupInfoRec *            SetupInfoPtr
  463.  
  464. SetupParam                RECORD 0
  465. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  466. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  467. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  468. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  469. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  470. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  471. scSetupPtr                 ds.l    1                ; offset: $12 (18)
  472. scMaxVolumes             ds.w    1                ; offset: $16 (22)
  473. scMaxExpFolders             ds.w    1                ; offset: $18 (24)
  474. scCode                     ds.w    1                ; offset: $1A (26)
  475. scCurMaxSessions         ds.w    1                ; offset: $1C (28)
  476. sizeof                     EQU *                    ; size:   $1E (30)
  477.                         ENDR
  478. ; typedef struct SetupParam *            SetupParamPtr
  479.  
  480. StatusParam                RECORD 0
  481. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  482. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  483. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  484. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  485. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  486. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  487. scNamePtr                 ds.l    1                ; offset: $12 (18)
  488. reserved2                 ds.w    1                ; offset: $16 (22)
  489. reserved3                 ds.w    1                ; offset: $18 (24)
  490. scCode                     ds.w    1                ; offset: $1A (26)
  491. scServerFlags             ds.w    1                ; offset: $1C (28)
  492. scNumSessions             ds.w    1                ; offset: $1E (30)
  493. scUserListModDate         ds.l    1                ; offset: $20 (32)
  494. scActivity                 ds.w    1                ; offset: $24 (36)
  495. scVolListModDate         ds.l    1                ; offset: $26 (38)
  496. sizeof                     EQU *                    ; size:   $2A (42)
  497.                         ENDR
  498. ; typedef struct StatusParam *            StatusParamPtr
  499.  
  500. ServerEventParam        RECORD 0
  501. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  502. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  503. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  504. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  505. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  506. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  507. scSEQEntryPtr             ds.l    1                ; offset: $12 (18)
  508. reserved2                 ds.w    1                ; offset: $16 (22)
  509. reserved3                 ds.w    1                ; offset: $18 (24)
  510. scCode                     ds.w    1                ; offset: $1A (26)
  511. sizeof                     EQU *                    ; size:   $1C (28)
  512.                         ENDR
  513. ; typedef struct ServerEventParam *        ServerEventParamPtr
  514.  
  515. VersionParam            RECORD 0
  516. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  517. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  518. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  519. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  520. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  521. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  522. scExtNamePtr             ds.l    1                ; offset: $12 (18)
  523. reserved2                 ds.w    1                ; offset: $16 (22)
  524. reserved3                 ds.w    1                ; offset: $18 (24)
  525. scCode                     ds.w    1                ; offset: $1A (26)
  526. scServerType             ds.w    1                ; offset: $1C (28)
  527. scServerVersion             ds.w    1                ; offset: $1E (30)
  528. sizeof                     EQU *                    ; size:   $20 (32)
  529.                         ENDR
  530. ; typedef struct VersionParam *            VersionParamPtr
  531.  
  532. UserInfoParam            RECORD 0
  533. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  534. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  535. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  536. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  537. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  538. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  539. scNamePtr                 ds.l    1                ; offset: $12 (18)
  540. reserved2                 ds.w    1                ; offset: $16 (22)
  541. reserved3                 ds.w    1                ; offset: $18 (24)
  542. scCode                     ds.w    1                ; offset: $1A (26)
  543. scPosition                 ds.l    1                ; offset: $1C (28)
  544. scUNRecID                 ds.l    1                ; offset: $20 (32)
  545. scUserID                 ds.l    1                ; offset: $24 (36)
  546. scLoginTime                 ds.l    1                ; offset: $28 (40)
  547. scLastUseTime             ds.l    1                ; offset: $2C (44)
  548. scSocketNum                 ds.l    1                ; offset: $30 (48)
  549. sizeof                     EQU *                    ; size:   $34 (52)
  550.                         ENDR
  551. ; typedef struct UserInfoParam *        UserInfoParamPtr
  552.  
  553. VolMountedParam            RECORD 0
  554. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  555. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  556. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  557. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  558. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  559. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  560. reserved                 ds.l    1                ; offset: $12 (18)
  561. scVRefNum                 ds.w    1                ; offset: $16 (22)
  562. reserved3                 ds.w    1                ; offset: $18 (24)
  563. scCode                     ds.w    1                ; offset: $1A (26)
  564. scFilesOpen                 ds.w    1                ; offset: $1C (28)
  565. scWriteableFiles         ds.w    1                ; offset: $1E (30)
  566. scUNRecID                 ds.l    1                ; offset: $20 (32)
  567. scMounted                 ds.b    1                ; offset: $24 (36)
  568. scMountedAsOwner         ds.b    1                ; offset: $25 (37)
  569. sizeof                     EQU *                    ; size:   $26 (38)
  570.                         ENDR
  571. ; typedef struct VolMountedParam *        VolMountedParamPtr
  572.  
  573. SCCacheStatsRec            RECORD 0
  574. csVersion                 ds.w    1                ; offset: $0 (0)
  575. csCacheTime                 ds.l    1                ; offset: $2 (2)
  576. csRACacheAttempts         ds.l    1                ; offset: $6 (6)        ;  file cache 
  577. csRACacheHits             ds.l    1                ; offset: $A (10)
  578. csRACacheTotalEntries     ds.l    1                ; offset: $E (14)
  579. csRACacheEntriesInUse     ds.l    1                ; offset: $12 (18)
  580. csRACacheEntrySize         ds.l    1                ; offset: $16 (22)
  581. csDirCacheAttempts         ds.l    1                ; offset: $1A (26)        ;  dir cache 
  582. csDirCacheHits             ds.l    1                ; offset: $1E (30)
  583. csDirCacheTotalEntries     ds.l    1                ; offset: $22 (34)
  584. csDirCacheEntriesInUse     ds.l    1                ; offset: $26 (38)
  585. csDirCacheEntrySize         ds.l    1                ; offset: $2A (42)
  586. csIconCacheAttempts         ds.l    1                ; offset: $2E (46)        ;  dt cache 
  587. csIconCacheHits             ds.l    1                ; offset: $32 (50)
  588. csIconCacheTotalEntries     ds.l    1                ; offset: $36 (54)
  589. csIconCacheEntriesInUse     ds.l    1                ; offset: $3A (58)
  590. csIconCacheEntrySize     ds.l    1                ; offset: $3E (62)
  591. csACtlCacheAttempts         ds.l    1                ; offset: $42 (66)        ;  PDS info, part of dir cache 
  592. csACtlCacheHits             ds.l    1                ; offset: $46 (70)
  593. csACtlCacheTotalEntries     ds.l    1                ; offset: $4A (74)
  594. csACtlCacheEntriesInUse     ds.l    1                ; offset: $4E (78)
  595. csACtlCacheEntrySize     ds.l    1                ; offset: $52 (82)
  596. csAUXCacheAttempts         ds.l    1                ; offset: $56 (86)        ;  not used 
  597. csAUXCacheHits             ds.l    1                ; offset: $5A (90)
  598. csAUXCacheTotalEntries     ds.l    1                ; offset: $5E (94)
  599. csAUXCacheEntriesInUse     ds.l    1                ; offset: $62 (98)
  600. csAUXCacheEntrySize         ds.l    1                ; offset: $66 (102)
  601. ;   New fields for version 3 record
  602. csEnumCacheAttempts         ds.l    1                ; offset: $6A (106)
  603. csEnumCacheHits             ds.l    1                ; offset: $6E (110)
  604. csEnumCacheTotalEntries     ds.l    1                ; offset: $72 (114)
  605. csEnumCacheEntriesInUse     ds.l    1                ; offset: $76 (118)
  606. csEnumCacheEntrySize     ds.l    1                ; offset: $7A (122)
  607. csMaxFBUsed                 ds.l    1                ; offset: $7E (126)
  608. csSkipPrsAttempts         ds.l    1                ; offset: $82 (130)
  609. csSkipPrsHits             ds.l    1                ; offset: $86 (134)
  610. sizeof                     EQU *                    ; size:   $8A (138)
  611.                         ENDR
  612. ; typedef struct SCCacheStatsRec *        SCCacheStatsRecPtr
  613.  
  614. SCOldCacheStatsRec        RECORD 0
  615. csVersion                 ds.w    1                ; offset: $0 (0)
  616. csCacheTime                 ds.l    1                ; offset: $2 (2)
  617. csRACacheAttempts         ds.l    1                ; offset: $6 (6)        ;  file cache 
  618. csRACacheHits             ds.l    1                ; offset: $A (10)
  619. csRACacheTotalEntries     ds.l    1                ; offset: $E (14)
  620. csRACacheEntriesInUse     ds.l    1                ; offset: $12 (18)
  621. csRACacheEntrySize         ds.l    1                ; offset: $16 (22)
  622. csDirCacheAttempts         ds.l    1                ; offset: $1A (26)        ;  dir cache 
  623. csDirCacheHits             ds.l    1                ; offset: $1E (30)
  624. csDirCacheTotalEntries     ds.l    1                ; offset: $22 (34)
  625. csDirCacheEntriesInUse     ds.l    1                ; offset: $26 (38)
  626. csDirCacheEntrySize         ds.l    1                ; offset: $2A (42)
  627. csIconCacheAttempts         ds.l    1                ; offset: $2E (46)        ;  dt cache 
  628. csIconCacheHits             ds.l    1                ; offset: $32 (50)
  629. csIconCacheTotalEntries     ds.l    1                ; offset: $36 (54)
  630. csIconCacheEntriesInUse     ds.l    1                ; offset: $3A (58)
  631. csIconCacheEntrySize     ds.l    1                ; offset: $3E (62)
  632. csACtlCacheAttempts         ds.l    1                ; offset: $42 (66)        ;  PDS info, part of dir cache 
  633. csACtlCacheHits             ds.l    1                ; offset: $46 (70)
  634. csACtlCacheTotalEntries     ds.l    1                ; offset: $4A (74)
  635. csACtlCacheEntriesInUse     ds.l    1                ; offset: $4E (78)
  636. csACtlCacheEntrySize     ds.l    1                ; offset: $52 (82)
  637. csAUXCacheAttempts         ds.l    1                ; offset: $56 (86)        ;  not used 
  638. csAUXCacheHits             ds.l    1                ; offset: $5A (90)
  639. csAUXCacheTotalEntries     ds.l    1                ; offset: $5E (94)
  640. csAUXCacheEntriesInUse     ds.l    1                ; offset: $62 (98)
  641. csAUXCacheEntrySize         ds.l    1                ; offset: $66 (102)
  642. sizeof                     EQU *                    ; size:   $6A (106)
  643.                         ENDR
  644. ; typedef struct SCOldCacheStatsRec *    SCOldCacheStatsRecPtr
  645.  
  646. GetCacheStatsParam        RECORD 0
  647. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  648. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  649. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  650. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  651. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  652. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  653. reserved                 ds.l    1                ; offset: $12 (18)
  654. reserved2                 ds.w    1                ; offset: $16 (22)
  655. reserved3                 ds.w    1                ; offset: $18 (24)
  656. scCode                     ds.w    1                ; offset: $1A (26)
  657. reserved4                 ds.w    1                ; offset: $1C (28)
  658. scCacheStatsPtr             ds.l    1                ; offset: $1E (30)
  659. scCacheStatsReqSize         ds.w    1                ; offset: $22 (34)
  660. scCacheStatsActSize         ds.w    1                ; offset: $24 (36)
  661. sizeof                     EQU *                    ; size:   $26 (38)
  662.                         ENDR
  663. ; typedef struct GetCacheStatsParam *    GetCacheStatsParamPtr
  664.  
  665. ResetCacheParam            RECORD 0
  666. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  667. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  668. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  669. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  670. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  671. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  672. reserved                 ds.l    1                ; offset: $12 (18)
  673. reserved2                 ds.w    1                ; offset: $16 (22)
  674. reserved3                 ds.w    1                ; offset: $18 (24)
  675. scCode                     ds.w    1                ; offset: $1A (26)
  676. bitmap                     ds.w    1                ; offset: $1C (28)
  677. sizeof                     EQU *                    ; size:   $1E (30)
  678.                         ENDR
  679. ; typedef struct ResetCacheParam *        ResetCacheParamPtr
  680.  
  681. ;  Used in extended user call if attrVersion is kOldUserAttrRecVersion... 
  682. OldUserAttrRec            RECORD 0
  683. scLoginTime                 ds.l    1                ; offset: $0 (0)
  684. scLastUseTime             ds.l    1                ; offset: $4 (4)
  685. scSocketNum                 ds.l    1                ; offset: $8 (8)
  686. scConnectionType         ds.w    1                ; offset: $C (12)
  687. scDisconnectID             ds.w    1                ; offset: $E (14)
  688. sizeof                     EQU *                    ; size:   $10 (16)
  689.                         ENDR
  690. ; typedef struct OldUserAttrRec *        OldUserAttrPtr
  691.  
  692. ;  Used in extended user call if attrVersion is kUserAttrRecVersion... 
  693. UserAttrRec                RECORD 0
  694. scLoginTime                 ds.l    1                ; offset: $0 (0)
  695. scLastUseTime             ds.l    1                ; offset: $4 (4)
  696. scSocketNum                 ds.l    1                ; offset: $8 (8)
  697. scProtocolType             ds.l    1                ; offset: $C (12)        ;  The Session Protocol, i.e. AFP, FTP, SMB 
  698. scTransportType             ds.l    1                ; offset: $10 (16)        ;  The Transport, i.e. ATP, TCP/IP 
  699. scSessionNamePtr         ds.l    1                ; offset: $14 (20)        ;  Str63 
  700. scDisconnectID             ds.l    1                ; offset: $18 (24)
  701. sizeof                     EQU *                    ; size:   $1C (28)
  702.                         ENDR
  703. ; typedef struct UserAttrRec *            UserAttrPtr
  704.  
  705. ExtUserInfoParam        RECORD 0
  706. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  707. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  708. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  709. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  710. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  711. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  712. scNamePtr                 ds.l    1                ; offset: $12 (18)
  713. reserved2                 ds.w    1                ; offset: $16 (22)
  714. reserved3                 ds.w    1                ; offset: $18 (24)
  715. scCode                     ds.w    1                ; offset: $1A (26)
  716. scPosition                 ds.l    1                ; offset: $1C (28)
  717. scUNRecID                 ds.l    1                ; offset: $20 (32)
  718. scUserID                 ds.l    1                ; offset: $24 (36)
  719. attrVersion                 ds.w    1                ; offset: $28 (40)
  720. scUserAttrPtr             ds.l    1                ; offset: $2A (42)
  721. sizeof                     EQU *                    ; size:   $2E (46)
  722.                         ENDR
  723. ; typedef struct ExtUserInfoParam *        ExtUserInfoParamPtr
  724.  
  725. ServiceStateParam        RECORD 0
  726. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  727. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  728. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  729. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  730. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  731. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  732. reserved                 ds.l    1                ; offset: $12 (18)
  733. reserved2                 ds.w    1                ; offset: $16 (22)
  734. reserved3                 ds.w    1                ; offset: $18 (24)
  735. scCode                     ds.w    1                ; offset: $1A (26)
  736. afpTCPState                 ds.w    1                ; offset: $1C (28)
  737. httpState                 ds.w    1                ; offset: $1E (30)
  738. otherState                 ds.w    1                ; offset: $20 (32)
  739. multiHoming                 ds.w    1                ; offset: $22 (34)
  740. srvrUsageLimit             ds.w    1                ; offset: $24 (36)
  741. sizeof                     EQU *                    ; size:   $26 (38)
  742.                         ENDR
  743. ; typedef struct ServiceStateParam *    ServiceStateParamPtr
  744.  
  745. PlugInInfoParam            RECORD 0
  746. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  747. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  748. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  749. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  750. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  751. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  752. reserved                 ds.l    1                ; offset: $12 (18)
  753. reserved2                 ds.w    1                ; offset: $16 (22)
  754. reserved3                 ds.w    1                ; offset: $18 (24)
  755. scCode                     ds.w    1                ; offset: $1A (26)
  756. version                     ds.w    1                ; offset: $1C (28)
  757. index                     ds.l    1                ; offset: $1E (30)
  758. error                     ds.b    1                ; offset: $22 (34)
  759. reserved4                 ds.b    1                ; offset: $23 (35)
  760. name                     ds.b    32                ; offset: $24 (36)
  761. versionStr                 ds.b    12                ; offset: $44 (68)
  762. adminURL                 ds.b    256                ; offset: $50 (80)
  763. plugInAttributes         ds.l    1                ; offset: $150 (336)
  764. plugInRef                 ds.l    1                ; offset: $154 (340)
  765. isLast                     ds.w    1                ; offset: $158 (344)
  766. sizeof                     EQU *                    ; size:   $15A (346)
  767.                         ENDR
  768. ; typedef struct PlugInInfoParam *        PlugInInfoParamPtr
  769.  
  770. PlugInMimeTypeParam        RECORD 0
  771. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  772. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  773. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  774. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  775. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  776. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  777. reserved                 ds.l    1                ; offset: $12 (18)
  778. reserved2                 ds.w    1                ; offset: $16 (22)
  779. reserved3                 ds.w    1                ; offset: $18 (24)
  780. scCode                     ds.w    1                ; offset: $1A (26)
  781. version                     ds.w    1                ; offset: $1C (28)
  782. plugInRef                 ds.l    1                ; offset: $1E (30)
  783. index                     ds.l    1                ; offset: $22 (34)
  784. error                     ds.b    1                ; offset: $26 (38)
  785. reserved4                 ds.b    1                ; offset: $27 (39)
  786. mimetype                 ds.b    80                ; offset: $28 (40)
  787. suffix                     ds.b    32                ; offset: $78 (120)
  788. typeCode                 ds.l    1                ; offset: $98 (152)
  789. creatorCode                 ds.l    1                ; offset: $9C (156)
  790. isLast                     ds.w    1                ; offset: $A0 (160)
  791. sizeof                     EQU *                    ; size:   $A2 (162)
  792.                         ENDR
  793. ; typedef struct PlugInMimeTypeParam *    PlugInMimeTypeParamPtr
  794.  
  795. SetHistoryParam            RECORD 0
  796. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  797. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  798. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  799. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  800. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  801. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  802. reserved                 ds.l    1                ; offset: $12 (18)
  803. reserved2                 ds.w    1                ; offset: $16 (22)
  804. historySampleTime         ds.w    1                ; offset: $18 (24)
  805. scCode                     ds.w    1                ; offset: $1A (26)
  806. sizeof                     EQU *                    ; size:   $1C (28)
  807.                         ENDR
  808. ; typedef struct SetHistoryParam *        SetHistoryParamPtr
  809.  
  810. HistoryData                RECORD 0
  811. dpMin                     ds.b    1                ; offset: $0 (0)
  812. dpMax                     ds.b    1                ; offset: $1 (1)
  813. dpAverage                 ds.b    1                ; offset: $2 (2)
  814. filler                     ds.b    1                ; offset: $3 (3)
  815. sizeof                     EQU *                    ; size:   $4 (4)
  816.                         ENDR
  817. ServerHistoryRec        RECORD 0
  818. historySyncCount         ds.l    1                ; offset: $0 (0)
  819. historyLastSample         ds.l    1                ; offset: $4 (4)
  820. historySampleTime         ds.w    1                ; offset: $8 (8)
  821. numDataPoints             ds.w    1                ; offset: $A (10)
  822. dataPoint                 ds.b    1024 * HistoryData.sizeof ; offset: $C (12)
  823. sizeof                     EQU *                    ; size:   $100C (4108)
  824.                         ENDR
  825. ; typedef struct ServerHistoryRec *        ServerHistoryPtr
  826.  
  827. GetHistoryParam            RECORD 0
  828. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  829. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  830. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  831. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  832. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  833. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  834. scHistory                 ds.l    1                ; offset: $12 (18)
  835. numDataPointsRequested     ds.w    1                ; offset: $16 (22)
  836. reserved2                 ds.w    1                ; offset: $18 (24)
  837. scCode                     ds.w    1                ; offset: $1A (26)
  838. sizeof                     EQU *                    ; size:   $1C (28)
  839.                         ENDR
  840. ; typedef struct GetHistoryParam *        GetHistoryParamPtr
  841.  
  842. SMBConfigParam            RECORD 0
  843. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  844. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  845. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  846. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  847. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  848. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  849. reserved                 ds.l    1                ; offset: $12 (18)
  850. reserved2                 ds.l    1                ; offset: $16 (22)
  851. scCode                     ds.w    1                ; offset: $1A (26)
  852. enabled                     ds.b    1                ; offset: $1C (28)
  853. reserved3                 ds.b    1                ; offset: $1D (29)
  854. netBIOSName                 ds        Str63            ; offset: $1E (30)
  855. workgroupName             ds        Str63            ; offset: $5E (94)
  856. comment                     ds        Str63            ; offset: $9E (158)
  857. winsAddress                 ds        Str63            ; offset: $DE (222)
  858. sizeof                     EQU *                    ; size:   $11E (286)
  859.                         ENDR
  860. ; typedef struct SMBConfigParam *        SMBConfigParamPtr
  861.  
  862.  
  863. ;      Do not use the following ObsoleteBlockUserRec structure. This corresponds
  864. ;      to the original BlockUserRecParam call version (version 1), and has been
  865. ;      superceeded by version 2 as of May, 1999. The BlockGetUser call will
  866. ;      honor the old format for binary compatibilty, but you should switch
  867. ;      to using the most current version. The change is to the field "name",
  868. ;      which has been switched from type Str32Field to type Str31. This removes
  869. ;      alignment and padding problems with some compilers, and is more correct.
  870.  
  871.  
  872. ObsoleteBlockUserRec1    RECORD 0
  873. name                     ds        Str32Field        ; offset: $0 (0)
  874. recID                     ds.l    1                ; offset: $22 (34)
  875. id                         ds.l    1                ; offset: $26 (38)
  876. loginTime                 ds.l    1                ; offset: $2A (42)
  877. lastUseTime                 ds.l    1                ; offset: $2E (46)
  878. serviceType                 ds.l    1                ; offset: $32 (50)
  879. sessionType                 ds.l    1                ; offset: $36 (54)
  880. at                         ds        AddrBlock        ; offset: $3A (58)
  881.                          ORG 58
  882. ip                         ds.l    1                ; offset: $3A (58)
  883. sizeof                     EQU *                    ; size:   $3E (62)
  884.                         ENDR
  885. BlockUserRec            RECORD 0
  886. name                     ds        Str31            ; offset: $0 (0)
  887. recID                     ds.l    1                ; offset: $20 (32)
  888. id                         ds.l    1                ; offset: $24 (36)
  889. loginTime                 ds.l    1                ; offset: $28 (40)
  890. lastUseTime                 ds.l    1                ; offset: $2C (44)
  891. serviceType                 ds.l    1                ; offset: $30 (48)
  892. sessionType                 ds.l    1                ; offset: $34 (52)
  893. flags                     ds.l    1                ; offset: $38 (56)
  894. disconnectTimer             ds.l    1                ; offset: $3C (60)
  895. at                         ds        AddrBlock        ; offset: $40 (64)
  896.                          ORG 64
  897. ip                         ds.l    1                ; offset: $40 (64)
  898. sizeof                     EQU *                    ; size:   $44 (68)
  899.                         ENDR
  900. ; typedef struct BlockUserRec *            BlockUserPtr
  901.  
  902. BlockUserRecParam        RECORD 0
  903. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  904. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  905. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  906. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  907. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  908. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code; -39 == more users than buffer
  909. reserved                 ds.l    1                ; offset: $12 (18)
  910. reserved2                 ds.l    1                ; offset: $16 (22)
  911. scCode                     ds.w    1                ; offset: $1A (26)
  912. version                     ds.l    1                ; offset: $1C (28)        ;  Should be kSCBlockGetUserRecVersion. 
  913. numUsers                 ds.l    1                ; offset: $20 (32)        ;  On input, size of buffer. On output, num users. 
  914. users                     ds.l    1                ; offset: $24 (36)        ;  Pointer to array of SUserRecs to be filled in by call. 
  915. sizeof                     EQU *                    ; size:   $28 (40)
  916.                         ENDR
  917. ; typedef struct BlockUserRecParam *    BlockUserRecParamPtr
  918.  
  919. SCParamBlockRec            RECORD 0
  920. startParam                 ds        StartParam        ; offset: $0 (0)
  921.                          ORG 0
  922. disconnectParam             ds        DisconnectParam ; offset: $0 (0)
  923.                          ORG 0
  924. pollServerParam             ds        PollServerParam ; offset: $0 (0)
  925.                          ORG 0
  926. standardParam             ds        StandardParam    ; offset: $0 (0)
  927.                          ORG 0
  928. setupParam                 ds        SetupParam        ; offset: $0 (0)
  929.                          ORG 0
  930. statusParam                 ds        StatusParam        ; offset: $0 (0)
  931.                          ORG 0
  932. serverEventParam         ds        ServerEventParam ; offset: $0 (0)
  933.                          ORG 0
  934. versionParam             ds        VersionParam    ; offset: $0 (0)
  935.                          ORG 0
  936. userInfoParam             ds        UserInfoParam    ; offset: $0 (0)
  937.                          ORG 0
  938. volMountedParam             ds        VolMountedParam ; offset: $0 (0)
  939.                          ORG 0
  940. getCacheStatsParam         ds        GetCacheStatsParam ; offset: $0 (0)
  941.                          ORG 0
  942. resetCacheParam             ds        ResetCacheParam ; offset: $0 (0)
  943.                          ORG 0
  944. extUserInfoParam         ds        ExtUserInfoParam ; offset: $0 (0)
  945.                          ORG 0
  946. serviceStateParam         ds        ServiceStateParam ; offset: $0 (0)
  947.                          ORG 0
  948. plugInInfoParam             ds        PlugInInfoParam ; offset: $0 (0)
  949.                          ORG 0
  950. plugInMimeTypeParam         ds        PlugInMimeTypeParam ; offset: $0 (0)
  951.                          ORG 0
  952. setHistoryParam             ds        SetHistoryParam ; offset: $0 (0)
  953.                          ORG 0
  954. getHistoryParam             ds        GetHistoryParam ; offset: $0 (0)
  955.                          ORG 0
  956. smbConfigParam             ds        SMBConfigParam ; offset: $0 (0)
  957.                          ORG 0
  958. blockGetUserParam         ds        BlockUserRecParam ; offset: $0 (0)
  959.                          ORG 346
  960. sizeof                     EQU *                    ; size:   $15A (346)
  961.                         ENDR
  962. ; typedef union SCParamBlockRec *        SCParamBlockPtr
  963.  
  964. ;  68K Trap Interface ------------------------------------------------------------------------------ 
  965. ;
  966. ; pascal OSErr ServerDispatchSync(SCParamBlockPtr paramBlock)
  967. ;
  968.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  969.         ; parameters:
  970.         ;    paramBlock      => A0
  971.         ; returns:
  972.         ;    OSErr           <= D0
  973.         Macro
  974.         _ServerDispatchSync
  975.             moveq               #0,D0
  976.             dc.w                $A094
  977.         EndM
  978.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  979.         IMPORT_CFM_FUNCTION ServerDispatchSync
  980.     ENDIF
  981.  
  982. ;  Note: there is no ServerDispatchAsync! 
  983. ;  Gestaltage -------------------------------------------------------------------------------------- 
  984.  
  985.  
  986. gestaltASIPFSVersion            EQU        '#!#7'                ; Defined only from 6.0... 
  987. ;  ------------------------------------------------------------------------------------------------- 
  988.  
  989.     ENDIF ; __APPLESHAREFILESERVERCONTROL__ 
  990.  
  991.